home *** CD-ROM | disk | FTP | other *** search
-
-
-
- Documentation
-
- for
-
-
- GOODTIME
-
- Version 1.20
-
- Copyright 1992
-
-
- by
-
- Sydney M. Willett
-
- September 19, 1992
-
-
-
- 1. GENERAL.
-
- a. GOODTIME is a program that automatically corrects the timing error of
- the CMOS clock. GOODTIME will set the system (DOS) and CMOS clocks to the
- correct time whenever it is executed. GOODTIME is not a terminate and stay
- resident (TSR) program, so it doesn't use valuable system memory when it is
- not executing.
-
- b. GOODTIME runs on IBM AT compatible computers. It will NOT run on XT
- compatible computers (i.e., 8088 CPUs.) GOODTIME was designed to correct CMOS
- clocks, which XT computers don't have, and therefore uses 80286 machine
- language instructions. The program was tested on AT compatible computers
- using 80286, 80386SX, and 80386 CPUs, with EGA, VGA, and SVGA monitors.
- Though not tested on a 80486 computer, the program should work fine with this
- CPU. Also, the program is not dependent on the monitor type, so it should run
- on computers with other types of monitors. The program requires less than 64
- KB of memory to run. GOODTIME runs best from a hard disk, but will run from a
- floppy. However, all of the forgoing is not a guarantee that GOODTIME will
- run on every AT compatible computer. To the contrary, I'm certain there is at
- least one AT "compatible" computer in the world that will burp while running
- GOODTIME.
-
- c. Turbo C version 2.0 was used to create GOODTIME. Turbo C is a
- trademark of Borland International.
-
-
- 2. DISTRIBUTION POLICY.
-
- a. GOODTIME is hereby freely given to the Public Domain. A SMALL and
- REASONABLE fee may be charged by user groups for non-profit reimbursement of
- materials, handling, and distribution costs.
-
- b. GOODTIME is released "as is" with no implied warranty or guarantees.
- The author assumes no responsibility for any claims of damage incurred with
- the use of this program. Using the program implies consent with these
- conditions.
-
- c. GOODTIME is to be distributed with the executable file (GOODTIME.COM)
- and this manual (GOODTIME.MAN).
-
-
- 3. OPERATION.
-
- a. Overview.
-
- (1) GOODTIME corrects CMOS errors. The program does this by knowing
- how many seconds are lost or gained in a certain period of time. With that
- information, the program determines a timing error ratio and applies that
- ratio to the time elapsed since the last time the computers clocks were
- corrected. If the calculation results in an error of one second or more, the
- computer's clocks will be corrected, and the data file updated to reflect the
- latest date and time the clocks were corrected. Using this method means the
- computer's clocks are corrected only when GOODTIME is executed. This is why
- it is recommended a line be added to the AUTOEXEC.BAT file calling GOODTIME
- once GOODTIME has determined the timing error.
-
- (2) Phases of Operation. GOODTIME has three sequential phases of
- operation depending on where it is in its calculation of the CMOS timing
- error. The program operates differently according to its current phase of
- operation.
-
- (a) Phase 1 - This is the state when GOODTIME is first loaded on
- your system. The program has not begun calculating the CMOS timing error.
- The distinguishing feature of this phase is there is no data file. Automatic
- updates of the time is not possible during this phase.
-
- (b) Phase 2 - In this phase, GOODTIME has begun calculating the
- CMOS timing error. You have given the program a reference date and time
- either interactively or through the command line. A data file exists, but
- contains only information related to this phase. It is recommended you wait
- at least one week before executing GOODTIME again. This will allow enough
- time to elapse for the program to calculate the CMOS timing error with
- reasonable accuracy. The longer you wait between phases 1 and 2, the more
- accurate the calculated timing error will be. Automatic updates of the time
- is not possible during this phase.
-
- (c) Phase 3 - This is final phase of GOODTIME. The program has
- determined the CMOS timing error and has stored the error ratio in the data
- file. This phase is achieved after a period of time has elapsed since phase
- 2, and culminated with you entering the correct date and time. With the
- reference date and time stored previously in the data file by phase 2, the
- current date and time of the computer, and the correct date and time you have
- just entered, GOODTIME calculates the CMOS timing error. A new data file is
- then written with the error ratio. Thereafter, every time GOODTIME is
- executed, the program will automatically determined how many seconds to add to
- or subtract from the current time to correct for the CMOS timing error, and
- update the data file with the last time the computer clocks were corrected.
-
- (3) GOODTIME has many commands that can be entered at the DOS prompt
- affecting the program's operation. Many commands operate differently
- depending on the current phase. GOODTIME allows you to enter the date
- (mm/dd/yyyy) and/or time (hh:mm:ss) from the DOS prompt as well as
- interactively. You can also add or subtract seconds (+|-secs) to or from the
- current time. Additionally, it has commands that: delete the data file
- (CLEANUP), effectively resetting GOODTIME to phase 1; display the contents of
- the data file (DATA); display the date and time (NOW); manually set the CMOS
- timing error (SET); update the data file with the current system date and time
- (UPDATE); and display a help screen (?). The date and time commands are the
- only commands that can be used together. All other commands must be used be
- used singularly. All of the commands are explained in detail in paragraph 3c
- below.
-
- b. Commands - Summary.
-
- GOODTIME [date] [time] [+|-secs] [CLEANUP] [DATA] [NOW] [SET] [UPDATE] [?]
-
- date - mm/dd/yyyy set DOS and CMOS month/day/year
- time - hh:mm:ss set DOS and CMOS 24 hour time
- +secs - add secs to the current time
- -secs - subtract seconds from the current time
- CLEANUP - remove the data file
- DATA - show current phase, latest update date and time, and clock error
- NOW - show current date and time
- SET - manually set the clock error
- UPDATE - update the data file with the current date and time
- ? - display this help message
-
- c. Commands - Detailed.
-
- (1) No Commands.
-
- (a) Phase 1. GOODTIME assumes you want to begin calculating the
- CMOS timing error by establishing a reference date and time. The program will
- first display an information screen. Then you will be prompted to enter the
- correct date and time. Pressing ESCape in either of those screens will abort
- the operation. After you have entered the correct date and time (or used the
- current computer's date and/or time), GOODTIME will set the CMOS and system
- clocks and create a data file containing the date and time. GOODTIME will be
- in phase 2 after the data file is created.
-
- (b) Phase 2. GOODTIME assumes you want to finish calculating the
- CMOS timing error. The program will display an information screen. After you
- press a key, you'll be prompted to enter the correct date and time. When the
- correct date and time is entered (or the current computer's date and/or time
- is used), GOODTIME will set the CMOS and system clocks. Once the clocks are
- set, the program will calculate the differences between the reference date and
- time entered during phase 1, and the current and correct dates and times. The
- difference between the current and correct dates and times is the error in
- seconds that occurred during the elapsed time between the reference and
- correct date and times. The data file will be replaced with the correct date
- and time, and the number of seconds gained or lost during an elapsed number of
- seconds. GOODTIME will be in its third and final phase after these actions
- are completed.
-
- (c) Phase 3. This is the third and final phase of operation for
- GOODTIME. The program will automatically correct any clock errors of one or
- more seconds.
-
- (2) date - mm/dd/yyyy set DOS and CMOS month/day/year
-
- (a) Phase 1. GOODTIME assumes you want to begin calculating the
- CMOS timing error by establishing a reference date and time (using the
- supplied date but the current time.) A data file will be created containing
- the reference date and time. The time command can be used in conjunction with
- this command. GOODTIME will be in phase 2 after the data file is created.
-
- (b) Phase 2. GOODTIME uses the supplied date and current time to
- compute the CMOS timing error. The data file will be updated with the date
- and time, as well as the CMOS timing error. The time command can be used in
- conjunction with this command. GOODTIME will be in its third and final phase
- after these actions are completed.
-
- (c) Phase 3. The date will be changed and the data file updated
- with the new date and current time. The time command can be used in
- conjunction with this command.
-
- (3) time - hh:mm:ss set DOS and CMOS 24 hour time
-
- (a) Phase 1. GOODTIME assumes you want to begin calculating the
- CMOS timing error by establishing a reference date and time (using the
- supplied time but the current date.) A data file will be created containing
- the reference date and time. The date command can be used in conjunction with
- this command. GOODTIME will be in phase 2 after the data file is created.
-
- (b) Phase 2. GOODTIME uses the supplied time and current date to
- compute the CMOS timing error. The data file will be updated with the date
- and time, as well as the CMOS timing error. The date command can be used in
- conjunction with this command. GOODTIME will be in its third and final phase
- after these actions are completed.
-
- (c) Phase 3. The time will be changed and the data file updated
- with the new time and current date. The date command can be used in
- conjunction with this command.
-
- (4) +secs - add seconds to the current time
-
- (a) Phase 1. Adds the specified number of seconds to the current
- time. A data file is not created.
-
- (b) Phase 2. Will not work while GOODTIME is in this phase
- because this command will invalidate the CMOS timing error test that is in
- progress.
-
- (c) Phase 3. Adds the specified number of seconds to the current
- time. The data file is updated with the current date and time.
-
- (5) -secs - subtract seconds from the current time
-
- (a) Phase 1. Subtracts the specified number of seconds from the
- current time. A data file is not created.
-
- (b) Phase 2. Will not work while GOODTIME is in this phase
- because this command will invalidate the CMOS timing error test that is in
- process.
-
- (c) Phase 3. Subtracts the specified number of seconds from the
- current time. The data file is updated with the current date and time.
-
- (6) CLEANUP - remove the data file
-
- (a) Phase 1. Will not work while GOODTIME is in this phase
- because there isn't a data file to delete.
-
- (b) Phases 2 and 3. Will delete the data file after the user
- confirms the command. This command effectively resets GOODTIME to phase 1.
-
- (7) DATA - show current phase, latest update date and time, and clock
- error
-
- (a) Phase 1. Will not work while GOODTIME is in this phase
- because there isn't any data to display.
-
- (b) Phase 2. Displays the reference date and time.
-
- (c) Phase 3. Displays the last date and time the CMOS and system
- clocks were updated, the number of seconds error in a day, and the fractional
- number of seconds yet to be updated.
-
- (8) NOW - show current date and time
-
- (a) Phase 1, 2, and 3. Displays the current date and time.
-
- (9) SET - manually set the clock error
-
- (a) Phases 1, 2, and 3. You manually set the CMOS timing error,
- bypassing the automatic calculation of the CMOS timing error and proceeding
- directly to phase 3. You are first given the choice to set the date and/or
- time, or use the current date and time. After that, you are prompted to enter
- the number of seconds error and the number of hours in which the error occurs.
- The numbers must be whole numbers, no decimals. If the number of seconds
- error is not a whole number, use simple math to convert it to a whole number
- by increasing the number of hours in which the error occurs. An example is if
- the CMOS clock loses 4.5 seconds in 24 hours, enter -9 seconds in 48 hours. A
- data file will be written with the date and time and the CMOS timing error you
- have just entered. Pressing ESCape at any prompt will abort the command.
-
- (10) UPDATE - update the data file with the current date and time
-
- (a) Phase 1. Will not work while GOODTIME is in this phase
- because there isn't a data file to update.
-
- (b) Phase 2. Will not work while GOODTIME is in this phase
- because this command will invalidate the CMOS timing error test that is in
- progress.
-
- (c) Phase 3. Updates the data file with the current date and
- time.
-
- (11) ? - display this help message
-
- (a) Phases 1, 2, and 3. Displays a help screen.
-
- d. Clock Errors That GOODTIME Cannot Correct.
-
- (1) When the computer is working normally, GOODTIME does a good job of
- correcting the CMOS timing error. However, there are circumstances where
- GOODTIME cannot accurately correct CMOS clock errors. When the computer
- crashes and you are thrown into the CMOS setup screen after boot-up, the CMOS
- clock invariably loses more time than its established rate. Simply stated,
- the current time (and possibly date) are incorrect, and GOODTIME has no way of
- knowing this. The only way to recover from this situation is to manually set
- the date and time, then update the GOODTIME data file with the correct date
- and time using the UPDATE command. After this is done, GOODTIME will continue
- using the previously calculated CMOS timing error to keep the CMOS and system
- clocks accurate.
-
-
- 4. ADIEU.
-
- a. I hope you find GOODTIME useful. Though not a "must have" utility,
- GOODTIME does reduce one source of frustration when using a computer. I've
- been using a previous version of GOODTIME on my computer for several months
- and I am satisfied with its performance and capabilities.
-
- b. If you have any comments or suggestions, you can direct them to me by
- leaving a message to S.WILLETT on GEnie.
-
- ____________
-
- S.M. WILLETT
-
-